package negocio;

import java.sql.SQLException;
import java.util.Iterator;

import repositorio.ConexaoBD;
import repositorio.RepositorioEnfermeira;
import dados.Enfermeira;
import excecoes.EnfermeiraNaoExisteException;

public class ControladorEnfermeira {

	private RepositorioEnfermeira repositorio;

	public ControladorEnfermeira(ConexaoBD conexao){
		this.repositorio = new RepositorioEnfermeira(conexao);
	}

	public void cadastrar(Enfermeira enfermeira) throws SQLException{
		this.repositorio.inserir(enfermeira);
	}

	public void remover(Enfermeira enfermeira) throws SQLException{
		this.repositorio.remover(enfermeira.getId());
	}

	public void editar(Enfermeira enfermeira) throws SQLException{
		this.repositorio.editar(enfermeira);
	}

	public Enfermeira buscar(Enfermeira enfermeira) throws SQLException, EnfermeiraNaoExisteException{
		Enfermeira temp = this.repositorio.buscar(enfermeira.getId());

		if(temp != null){
			return temp;
		}
		else{
			throw new EnfermeiraNaoExisteException();
		}
	}

	public Iterator<Enfermeira> getIterator() throws SQLException{
		return this.repositorio.iterator();
	}

	public boolean existe(Enfermeira enfermeira) throws SQLException{

		boolean retorno = false;

		Enfermeira temp = this.repositorio.buscar(enfermeira.getId());

		if(temp != null){
			retorno = true;
		}
		return retorno;
	}
}
